/*
 * $Id: init.c 7557b5d4d82b 2012/12/02 09:07:16 pgurumur $
 *
 * Copyright (c) 2006, 2007, 2008 Prabhu Gurumurthy <pgurumur@gmail.com>
 *
 * Permission to use, copy, modify, and distribute this software for any
 * purpose with or without fee is hereby granted, provided that the above
 * copyright notice and this permission notice appear in all copies.
 *
 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 */

#include "trie.h"

int
Tree_Init(Tcl_Interp *interp)
{
   int retval = TCL_ERROR;
   if (Tcl_InitStubs(interp, TCL_VERSION, 0) != NULL) {
      if (Tcl_PkgProvide(interp, "tree", "1.0") != TCL_ERROR) {
         trie = (struct _tcltrie *)Tcl_Alloc(sizeof(struct _tcltrie));
         if (trie != NULL) {
            trie->count = 0;
            trie->interp = interp;
            Tcl_CreateObjCommand(interp, "tree", tree_init,
                  (ClientData)trie, tree_delete);
            retval = TCL_OK;
         }
      }
   }

   return retval;
}

